/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.dahg.project.web;

import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.dahg.project.controller.model.Categoria;
import org.dahg.project.controller.model.Producto;
import org.dahg.project.controller.model.services.local.MenuService;
import org.dahg.project.controller.model.services.local.ProductoService;
import org.primefaces.event.RowEditEvent;

/**
 *
 * @author Home
 */
@ManagedBean
@ViewScoped
public class ComidaBean extends AbstractWebBean {
    
    @EJB
    private ProductoService productoService;
    @EJB
    private MenuService menuService;
    
    private List<Categoria> categorias;
    private List<Producto> productos;
    
    @PostConstruct
    public void refresh() {
        
        if(categorias==null)
            categorias=menuService.getAllCategorias();
        else {
            categorias.clear();
            categorias.addAll(menuService.getAllCategorias());
        }
        
        if(productos==null)
            productos=productoService.getAll();
        else {
            productos.clear();
            productos.addAll(productoService.getAll());
        }
    }

    public void onRowEdit(RowEditEvent evt) {
        Producto p = (Producto) evt.getObject();
        productoService.merge(p);
        addInfo("Producto actualizado");
        refresh();
    }
    
    public String removeProducto(Producto p) {
        productoService.remove(p);
        addInfo("producto eliminado");
        refresh();
        return null;
    }
    
    public List<Producto> getProductos() {
        return productos;
    }

    public void setProductos(List<Producto> productos) {
        this.productos = productos;
    }

    public List<Categoria> getCategorias() {
        return categorias;
    }

    public void setCategorias(List<Categoria> categorias) {
        this.categorias = categorias;
    }
    
    
}
